package com.marvels.financial.pay.kqpay.service;

import java.util.Map;

import com.marvels.common.dto.pay.McfeRepaymentTradeDetails;
import com.marvels.common.exception.MarvelsBusinessException;
import com.marvels.financial.pay.kqpay.dto.KqBindCardDTO;
import com.marvels.financial.pay.kqpay.dto.KqDirectPaymentDTO;
import com.marvels.financial.pay.kqpay.dto.KqDirectPaymentQueryDTO;
import com.marvels.financial.pay.kqpay.dto.KqPrebindCardDTO;

public interface KqPayApi {

	/**
	 * 快钱预绑卡
	 * @param bindCardDTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public  Map<String, Object>  kuaiQianPrebindCard(KqPrebindCardDTO bindCardDTO)  throws MarvelsBusinessException;
	
	
	/**
	 * 快钱绑卡
	 * @param bindCardDTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public  Map<String, Object>   kuaiQianBindCard(KqBindCardDTO bindCardDTO)  throws MarvelsBusinessException;
	
	/**
	 * 快钱协议支付类交易(代扣)
	 * @param baoFuDirectPaymentDTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public  Map<String, Object>  kuaiQianDirectPayment(KqDirectPaymentDTO baoFuDirectPaymentDTO)  throws MarvelsBusinessException ;
	
	
	/**
	 * 快钱协议支付交易结果查询(代扣)
	 * @param map
	 * @return
	 */
	public  Map<String, Object>  kuaiQianDirectPaymentQuery(KqDirectPaymentQueryDTO directPaymentQueryDTO)  throws MarvelsBusinessException;
	
	/**
	 * 快钱代付
	 * @param map
	 * @return
	 */
	public  Map<String, Object>  pay(McfeRepaymentTradeDetails tradeDetail);

	/**
	 * 快钱代付结果查询
	 * @param map
	 * @return
	 */
	public  Map<String, Object>  payResultQuery(McfeRepaymentTradeDetails tradeDetail);
	
}
